home *** CD-ROM | disk | FTP | other *** search
- //=========================================================================
- // Shadows support
-
- #ifdef DEPTHMAPS
- #define %TEMP_DEPTH_MAP 0x40000000
- #endif
- #ifdef OTHER
- #ifdef SELFSHADOW
- #define %TEMP_MIXED_MAP 0x80000000
- #endif
- #endif
-
- Shadow
- (
- Pass
- (
- AffectMask = f70000c0
- 3Samples
- #define %TEMP_SHAD_SAMPLEMASK1 0x10000000
- #define %TEMP_SHAD_SAMPLEMASK2 0x20000000
-
- SecondPassRendState
- {
- Blend 'SRC_ALPHA ONE_MINUS_SRC_ALPHA'
- DepthFunc = Equal
- DepthWrite = 0
- }
-
- CGVProgram = CGVProgShadowTempl
- CGVPParam (Name = TexGen0 TempMatr0[0])
- CGVPParam (Name = TexGen1 TempMatr1[0])
- CGVPParam (Name = TexGen2 TempMatr2[0])
-
- #if %TEMP_MIXED_MAP
- CGVPParam (Name = ShadowModelMatr0 Temp2Matr0[7])
- CGVPParam (Name = ShadowModelMatr1 Temp2Matr1[7])
- CGVPParam (Name = ShadowModelMatr2 Temp2Matr2[7])
- CGVPParam (Name = ShadowBias Comp = -0.005)
- #endif
-
- CGPShader = CGRCShadowTempl
- CGPSParam (Name = Ambient Comp 'AmbLightColor[0]' Comp 'AmbLightColor[1]' Comp 'AmbLightColor[2]' Comp 'Opacity' )
- CGPSParam (Name = Fading Comp 'REColor[0]' Comp 'REColor[1]' Comp 'REColor[2]' )
-
- #if %ENVCMAMB
- CGVPParam ( Name = CameraPos Comp 'OSCameraPos pos 0' Comp 'OSCameraPos pos 1' Comp 'OSCameraPos pos 2')
- CGVPParam ( Name = TexMatrix TranspInvObjMatrix )
- CGPSParam ( Name = Reflect Comp=0 Comp=0 Comp=0 User 'ReflectAmount' )
- #elif %ENVLIGHT
- CGVPParam ( Name = EnvColors EnvColor )
- CGVPParam ( Name = TexMatrix TranspObjMatrix )
- #endif
-
- Layer '0'
- (
- Map = $FromRE0
- TexGen = ShadowMap
- TexColorOp = NoSet
- )
- Layer '1'
- (
- Map = $FromRE1
- TexGen = ShadowMap
- TexColorOp = NoSet
- )
- Layer '2'
- (
- Map = $FromRE2
- TexGen = ShadowMap
- TexColorOp = NoSet
- )
- Layer '3'
- (
- Blend 'SRC_ALPHA ONE_MINUS_SRC_ALPHA'
- Map = $Diffuse
- TexColorOp = NoSet
- //AlphaFunc = GT0
- )
- #if %ENVCMAMB
- Layer
- (
- Blend 'SRC_ALPHA ONE_MINUS_SRC_ALPHA'
- #if %RTCUBEMAP
- Map = $EnvironmentCubeMap
- #else
- Map = $CubeMap
- #endif
- TexType = CubeMap
- TexColorOp = NoSet
- )
- #endif
- #undefine %TEMP_SHAD_SAMPLEMASK1
- #undefine %TEMP_SHAD_SAMPLEMASK2
- )
-
- Pass
- (
- AffectMask = f70000c0
- 2Samples
- #define %TEMP_SHAD_SAMPLEMASK1 0x10000000
-
- SecondPassRendState
- {
- Blend 'SRC_ALPHA ONE_MINUS_SRC_ALPHA'
- DepthFunc = Equal
- DepthWrite = 0
- }
-
- CGVProgram = CGVProgShadowTempl
- CGVPParam (Name = TexGen0 TempMatr0[0])
- CGVPParam (Name = TexGen1 TempMatr1[0])
-
- #if %TEMP_MIXED_MAP
- CGVPParam (Name = ShadowModelMatr0 Temp2Matr0[7])
- CGVPParam (Name = ShadowModelMatr1 Temp2Matr1[7])
- CGVPParam (Name = ShadowBias Comp = -0.005)
- #endif
-
- CGPShader = CGRCShadowTempl
- CGPSParam (Name = Ambient Comp 'AmbLightColor[0]' Comp 'AmbLightColor[1]' Comp 'AmbLightColor[2]' Comp 'Opacity' )
- CGPSParam (Name = Fading Comp 'REColor[0]' Comp 'REColor[1]' Comp = 0 )
-
- #if %ENVCMAMB
- CGVPParam ( Name = CameraPos Comp 'OSCameraPos pos 0' Comp 'OSCameraPos pos 1' Comp 'OSCameraPos pos 2')
- CGVPParam ( Name = TexMatrix TranspInvObjMatrix )
- CGPSParam ( Name = Reflect Comp=0 Comp=0 Comp=0 User 'ReflectAmount' )
- #elif %ENVLIGHT
- CGVPParam ( Name = EnvColors EnvColor )
- CGVPParam ( Name = TexMatrix TranspObjMatrix )
- #endif
-
- Layer '0'
- (
- Map = $FromRE0
- TexGen = ShadowMap
- TexColorOp = NoSet
- )
- Layer '1'
- (
- Map = $FromRE1
- TexGen = ShadowMap
- TexColorOp = NoSet //Modulate
- )
- Layer '2'
- (
- Blend 'SRC_ALPHA ONE_MINUS_SRC_ALPHA'
- Map = $Diffuse
- TexColorOp = NoSet //Modulate
- )
- #if %ENVCMAMB
- Layer
- (
- Blend 'SRC_ALPHA ONE_MINUS_SRC_ALPHA'
- #if %RTCUBEMAP
- Map = $EnvironmentCubeMap
- #else
- Map = $CubeMap
- #endif
- TexType = CubeMap
- TexColorOp = NoSet
- )
- #endif
- #undefine %TEMP_SHAD_SAMPLEMASK1
- )
- Pass
- (
- AffectMask = f70000c0
- 1Samples
-
- SecondPassRendState
- {
- Blend 'SRC_ALPHA ONE_MINUS_SRC_ALPHA'
- DepthFunc = Equal
- DepthWrite = 0
- }
-
- CGVProgram = CGVProgShadowTempl
- CGVPParam (Name = TexGen0 TempMatr0[0])
-
- #if %TEMP_MIXED_MAP
- CGVPParam (Name = ShadowModelMatr0 Temp2Matr0[7])
- CGVPParam (Name = ShadowBias Comp = -0.005)
- #endif
-
- CGPShader = CGRCShadowTempl
- CGPSParam (Name = Ambient Comp 'AmbLightColor[0]' Comp 'AmbLightColor[1]' Comp 'AmbLightColor[2]' Comp 'Opacity' )
- CGPSParam (Name = Fading Comp 'REColor[0]' Comp = 0 Comp = 0 )
-
- #if %ENVCMAMB
- CGVPParam ( Name = CameraPos Comp 'OSCameraPos pos 0' Comp 'OSCameraPos pos 1' Comp 'OSCameraPos pos 2')
- CGVPParam ( Name = TexMatrix TranspInvObjMatrix )
- CGPSParam ( Name = Reflect Comp=0 Comp=0 Comp=0 User 'ReflectAmount' )
- #elif %ENVLIGHT
- CGVPParam ( Name = EnvColors EnvColor )
- CGVPParam ( Name = TexMatrix TranspObjMatrix )
- #endif
-
- Layer '0'
- (
- Map = $FromRE0
- TexGen = ShadowMap
- TexColorOp = NoSet
- )
- Layer '1'
- (
- Blend 'SRC_ALPHA ONE_MINUS_SRC_ALPHA'
- Map = $Diffuse
- TexColorOp = NoSet //Modulate
- //AlphaFunc = GT0
- )
- #if %ENVCMAMB
- Layer
- (
- Blend 'SRC_ALPHA ONE_MINUS_SRC_ALPHA'
- #if %RTCUBEMAP
- Map = $EnvironmentCubeMap
- #else
- Map = $CubeMap
- #endif
- TexType = CubeMap
- TexColorOp = NoSet
- )
- #endif
- )
- )
-
- #ifdef DEPTHMAPS
- #undefine %TEMP_DEPTH_MAP
- #endif
- #ifdef OTHER
- #ifdef SELFSHADOW
- #undefine %TEMP_MIXED_MAP
- #endif
- #endif
-